#include <iostream>
#include<vector>
using namespace std;

int main() {
    int n;
    while(scanf("%d",&n)!=EOF)//如果是遇到非法字符结束，那就读入0个，返回0，如果是遇到结尾，读入也是0个，返回-1，即EOF
    {
        vector<int> v(n+1);
        for(int i=0;i<=n;i++)
        {
            v[i]=i;
        }

        while(v.size()!=1)
        {
            vector<int> tmp;
            for(int i=0;i<v.size();i++)
            {
                if((i+1)%2==0)
                {
                    tmp.push_back(v[i]);
                }
            }
            swap(v,tmp);



        }
        cout<<v[0]<<endl;
        




    }
    return 0;
}